﻿using KinonekoSoftware.Expressions.Core;

namespace KinonekoSoftware.Expressions.Headings
{
    /// <summary>
    /// 剧情线的TextLeading
    /// </summary>
    public sealed class StoryboardLeadingTextPattern : LeadingTextPattern
    {
        private string _header;
        public override ExpressionNode Generate()
        {
            return new StoryboardLeadingTextPattern
            {
                Id = GetID(),
                Characters = new List<string>(),
                Documents = new List<string>(),
            };
        }
        
        
        /// <summary>
        /// 涉及到的人物
        /// </summary>
        public required List<string> Characters { get; init; }
        
        /// <summary>
        /// 涉及到的设定
        /// </summary>
        public required List<string> Documents { get; init; }
        
        /// <summary>
        /// 标头
        /// </summary>
        public string Header
        {
            get => _header;
            set => SetValue(ref _header, value);
        }
    }
}